High Level Software Cost Estimation

نویسنده

  • Per Bjuréus
چکیده

This report is dedicated to the processor characterization method and software cost estimation technique used in the Polis Codesign tool environment. The processor characterization method has been exercised by applying it to the ARM processor family. In particular, two processors, ARM7TDMI and ARM920T, have been examined. An improved method is proposed, which is supported and partially automated by two utility tools. The improved method is based on an iterative two-pass technique. The first pass involves processor characteristic extraction from generic software templates. The second pass improves the parameters from the first pass using a validation method. The results obtained during the exercise are presented and discussed. In particular the effect of instruction and data cache memory is addressed. The estimation technique used today is well suited for processors without cache, but processors with cache calls for new techniques. Introduction High-level software cost estimation is an attractive feature in a system design flow. This allows the designer to estimate software code size and performance in an early design phase. The approach to high-level software cost estimation that is available in the Polis codesign environment developed at UC Berkeley [2] is based on work done by K. Suzuki et. al. [1]. Under the assumption that the software program can be represented as a set of directed acyclic graphs (DAG), called S-graphs, the estimation is performed using macro modeling. A number of macros, representing different types of nodes that constitute the Sgraph, are collected in a set of template files. The template files are profiled for the processor that will be used, and size and time parameters for each individual macro is extracted. The profiling is only performed once, using an Instruction Set Simulator (ISS) or debugger for the processor in question. The macro parameters are collected in a parameter file, which is used to estimate the cost for any software program that runs on the processor. In this way there is no need for a designer to install and learn any simulators or debuggers to evaluate the software cost on different microprocessors. This amounts to a fast and convenient way to do design trade-off decisions between hardware, software, and functionality of an embedded system. The main objective of this project was to exercise and possibly improve the processor characterization methodology in Polis. The ARM processor family was selected as suitable microprocessors to perform the experiments on for several reasons. The ARM processors are widely used and has up until now not been available in the Polis environment. The ARM cores are a family of processors with different characteristics, which allows a wide range of different processor configurations to be analyzed without changing the experimental framework radically. The ARM processor comes with a Software Development Kit (SDK) that contains a set of tools in an open environment. EECS249 Project Report 2 A second objective was to study the effects that instruction and data cache has on software cost estimation and to possibly suggest solutions to the expected problems. Some previous work in this direction has been performed by Lajalo et. al. [3]. Processor Characterization Processor Characterization in Polis is based on the assumption that the software program is decomposed into communicating Codesign Finite State-Machines (CFSMs) that are executed upon request by a scheduler or operating system. The communication between CFSMs is asynchronous, and a signal enables a CFSM when it is received. The scheduler executes enabled CFSMs according to a scheduling policy. Each CFSM can be represented by a polar directed acyclic graph (DAG) called an S-graph. When the CFSM is executed, only one execution path is traversed in the S-graph from the Begin to the End node. The Sgraph is composed of a fixed set of node types. Each node type in an S-graph is represented by a macro, which is an atomic operation. A macro will eventually be executed as a sequence of instructions on a microprocessor. The idea is that if the code size and execution time for each macro can be estimated, so can the S-graph, and hence the CFSM. If the CFSMs are annotated with the estimated execution time, simulation of the system will yield a performance estimate of the whole system, this is referred to as performance simulation. The goal for processor characterization is thus to estimate the code size and execution time of the macros that constitute the S-graphs. All macro cost estimates are collected in a parameter file, which is processor specific. The parameter file is read by Polis, which annotates the software before performance simulation can be carried out. Estimating the macros involves compiling and analyzing the code for the intended processor. The current methodology for parameter file generation is outlined in Figure 1.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A New Approach to Software Cost Estimation by Improving Genetic Algorithm with Bat Algorithm

Because of the low accuracy of estimation and uncertainty of the techniques used in the past to Software Cost Estimation (SCE), software producers face a high risk in practice with regards to software projects and they often fail in such projects. Thus, SCE as a complex issue in software engineering requires new solutions, and researchers make an effort to make use of Meta-heuristic algorithms ...

متن کامل

A Model-Driven Decision Support System for Software Cost Estimation (Case Study: Projects in NASA60 Dataset)

Estimating the costs of software development is one of the most important activities in software project management. Inaccuracies in such estimates may cause irreparable loss. A low estimate of the cost of projects will result in failure on delivery on time and indicates the inefficiency of the software development team. On the other hand, high estimates of resources and costs for a project wil...

متن کامل

Software Effort Estimation Based on Use Case Point (Fuzzy Logic)

Software cost estimation is a crucial part of the software project initiation process. Cost estimation plays an important role in the bidding/budgeting and help managers to use their resources at the maximum output level. Software Project failure rate is very high in case the project cost estimation is not done by taking all the important factors into the consideration. So finding the cost at t...

متن کامل

Fuzzy Case-Based Reasoning Models for Software Cost Estimation

Providing a timely estimation of the likely software development effort has been the focus of intensive research investigations in the field of software engineering, especially software project management. As a result, various cost estimation techniques have been proposed and validated. Due to the nature of the software-engineering domain, software project attributes are often measured in terms...

متن کامل

Software Cost Estimation by a New Hybrid Model of Particle Swarm Optimization and K-Nearest Neighbor Algorithms

A successful software should be finalized with determined and predetermined cost and time. Software is a production which its approximate cost is expert workforce and professionals. The most important and approximate software cost estimation (SCE) is related to the trained workforce. Creative nature of software projects and its abstract nature make extremely cost and time of projects difficult ...

متن کامل

مروری بر روش‌های تخمین هزینه نرم‌افزار مبتنی بر یادگیری ماشین

Software project management software is the most important activity in software development, because it contains the whole software development process, from beginning to end. Software cost estimation is a challenge task in the software project management. It is an old activity in computer industry from 1940s and has been developed many times. Effort, only covers part of the cost of a software ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999